package com.xuetang.mapper;

import com.xuetang.entity.DietRecipeDetail;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 食谱明细Mapper接口
 */
public interface DietRecipeDetailMapper {

    /**
     * 根据食谱ID获取食谱明细列表
     * 
     * @param recipeId 食谱ID
     * @return 食谱明细列表
     */
    List<DietRecipeDetail> listByRecipeId(@Param("recipeId") Integer recipeId);

    /**
     * 根据ID获取食谱明细
     * 
     * @param id 明细ID
     * @return 食谱明细
     */
    DietRecipeDetail getById(@Param("id") Integer id);

    /**
     * 新增食谱明细
     * 
     * @param detail 食谱明细
     * @return 影响行数
     */
    int insert(DietRecipeDetail detail);

    /**
     * 批量新增食谱明细
     * 
     * @param details 食谱明细列表
     * @return 影响行数
     */
    int batchInsert(@Param("details") List<DietRecipeDetail> details);

    /**
     * 更新食谱明细
     * 
     * @param detail 食谱明细
     * @return 影响行数
     */
    int update(DietRecipeDetail detail);

    /**
     * 删除食谱明细
     * 
     * @param id 明细ID
     * @return 影响行数
     */
    int delete(@Param("id") Integer id);

    /**
     * 根据食谱ID删除所有明细
     * 
     * @param recipeId 食谱ID
     * @return 影响行数
     */
    int deleteByRecipeId(@Param("recipeId") Integer recipeId);
}